package com.cxy.service;

import com.cxy.dto.SeeTaskDTO;
import com.cxy.dto.TaskInsertDTO;
import com.cxy.dto.UpdateTaskDTO;
import com.cxy.vo.TaskCompleteVO;
import com.cxy.vo.TaskNoRelease;
import org.apache.ibatis.annotations.Insert;

import java.util.List;

public interface TaskService {
    /**
     * 添加任务
     * @param taskInsertDTO
     */
    void insert(TaskInsertDTO taskInsertDTO);

    /**
     * 查看任务（待发布）
     * @param seeTaskDTO
     * @return
     */
    List<TaskNoRelease> seeTaskNoRelease(SeeTaskDTO seeTaskDTO);

    /**
     * 修改任务
     * @param updateTaskDTO
     */
    void updateTask(UpdateTaskDTO updateTaskDTO);

    /**
     * 根据id查询任务
     * @return
     */
    String getById(Long id);

    /**
     * 发布任务
     * @param id
     */
    void taskRelease(Long id);

    /**
     * 查询任务（进行中）
     * @param seeTaskDTO
     * @return
     */
    TaskCompleteVO selectTaskComplete(SeeTaskDTO seeTaskDTO);

    /**
     * 删除任务
     * @param id
     */
    void delete(Long id);

    /**
     * 结束任务
     * @param id
     */
    void overTask(Long id);
}
